package com.crazy.appium.action;

import java.util.List;


import com.crazy.appium.driver.CrazyMobileDriver;
import com.crazy.appium.page.HomePage;
import com.crazy.appium.page.LoginPage;
import com.crazy.appium.page.MinePage;
import com.crazy.appium.page.PersionCenterPage;
import com.crazy.appium.page.YinDaoPage;
import com.crazy.appium.utils.ImageUtil;
import com.crazy.appium.utils.RandomUtil;

import io.appium.java_client.MobileElement;

/**
 * @author 沙陌  qq2879897713
 *
 */
public class HeadImgActions {
	public HomePage homePage;
	public MinePage minePage;
	//public LoginPage loginPage;
	//public YinDaoPage yindaoPage;
	public PersionCenterPage persionCenterPage;
	public HeadImgActions(CrazyMobileDriver driver,String platform) {
		this.minePage=new MinePage(driver, platform);
		this.persionCenterPage=new PersionCenterPage(driver, platform);
		this.homePage=new HomePage(driver, platform);
		// TODO Auto-generated constructor stub
	}
	/**
	 * 1. 图库里有六张图，选择一个跟原来的对比，会有疏漏，比如上传之后的图片裁剪有问题，那么也是跟原头像不一致的，这样我们的断言无法甄别
	 * 2. 规避第一点断言存在的问题思路，我不管原头像是什么，我上传了A之后，我再截取上传之后的头像，那么上传之后的头像就是A，那么上传成功；这里涉及到每个图都需要进行先采集
	 * @throws Exception
	 */
	public int headImaUpload() throws Exception{
//		下面这一大段注释掉的是用来采集原图的
//		homePage.clickMenu("我的");
//		minePage.clickUser_phone();
//		persionCenterPage.getHeadImageRl().click();
//		
//		List<MobileElement> imgs=persionCenterPage.getsItem_image();
//		for(int i=1;i<imgs.size();i++){
//			imgs.get(i).click();
//			persionCenterPage.getSave().click();
//			persionCenterPage.driver.pressBack();
//			persionCenterPage.driver.takeScreenForElement(minePage.getMine_img(), "images/", "img"+i);
//			minePage.clickUser_phone();
//			persionCenterPage.getHeadImageRl().click();
//		}
		//
		homePage.clickMenu("我的");
		minePage.headImgFile();
		//获取到当前头像之后，用当前头像和采集的6个图片进行逐个对比，来确定当前的头像是这六个中第几个
		int i=1;//循环判断如果跟某一个图片一致，那就结束循环，当前的i值就表示这个当前头像是第几个
		for(;i<7;i++){
			if(ImageUtil.compareImg("images/oldImg.png", "images/img"+i+".png", 100f)){
				break;
			}
		}
		minePage.clickUser_phone();
		persionCenterPage.getHeadImageRl().click();
		int j=RandomUtil.randomInt(1, 6);//这个随机数的范围就是我们的图片个数
		while(i==j){
			j=RandomUtil.randomInt(1, 6);
		}
		persionCenterPage.getsItem_image().get(j).click();
		persionCenterPage.getSave().click();
		persionCenterPage.driver.sleep(1500);
		persionCenterPage.driver.pressBack();
		persionCenterPage.driver.takeScreenForElement(minePage.getMine_img(), "images/", "imgNew"+j);
		
		return j;
	}
}
